Создание чата на NodeJS, SocketIO и VueJS 2018 В данном курсе мы разберем способ создания простого чата на платформе NodeJS. Из основных технологий на сервере мы будем использовать SocketIO и фреймворк Express. На клиентской части мы будем использовать VueJS и библиотеку Materialize-css для создания Material Design. В результате курса мы получим рабочий чат и разберем способ деплоя данного приложения на бесплатный облачный сервис Heroku, используя инструмент Heroku-CLI и систему контроля версий GIT для того, чтобы приложение было доступно удаленно на домене. Урок 1. Создание чата на NodeJS, SocketIO и VueJS. Настройка express сервера: От автора: в данном уроке вы узнаете, как начать разработку чата на nodejs и фреймворке express. В данном уроке вы узнаете, как создать сервер на express и в браузере отдавать index.html файл клиенту. Также вы увидите базовую настройку рабочего окружения для NodeJS. Урок 2. Создание чата на NodeJS, SocketIO и VueJS. Подключение SocketIO: От автора: в данном уроке вы узнаете, как включить поддержку сокетов в express сервере. В данном уроке вы узнаете, с помощью библиотеки SocketIO включить поддержку сокетов на сервере Express. В уроке мы протестируем, работает ли соединение между клиентом и сервером, написав скрипты для браузера и сервера. Урок 3. Создание чата на NodeJS, SocketIO и VueJS. Отправка сообщения (тест): От автора: в данном уроке мы протестируем механизм отправки сообщения на сервер и получения данных с него. В данном уроке мы протестируем связь между сервером и клиентом. В результате данного урока мы создадим элементарную связку, когда будет отправлять сообщение на сервер, модифицировать его данными, отправлять обратно на клиент и выводить в html. Урок 4. Создание чата на NodeJS, SocketIO и VueJS. Блок выбора комнаты и имени: От автора: в данном уроке мы создадим форму, где пользователь сможет выбрать свое имя и комнату. В уроке мы подключим библиотеку materialize-css, чтобы сверстать проект в стиле Material Design. Урок 5. Создание чата на NodeJS, SocketIO и VueJS. Создание страницы чата: От автора: в данном уроке мы создадим страницу, где будет проходить переписка. В данном уроке мы сверстаем страницу, где будет проходить переписка между пользователями. Чтобы упростить верстку, мы так же подключим VueJS и начнем его использовать. Урок 6. Создание чата на NodeJS, SocketIO и VueJS. Создание и приём сообщений: От автора: в данном уроке мы с использованием VueJS напишем функционал для обмена сообщениями. В данном уроке мы реализуем механизм по созданию и обмену сообщениями через сервер между пользователями внутри чата. Урок 7. Создание чата на NodeJS, SocketIO и VueJS. Подключение пользователя: От автора: в данном уроке мы реализуем функционал по определению текущего пользователя, который присоединился к чату. В данном уроке мы реализуем функционал по определению пользователя, который присоединился к соединению. Мы будет определять номер комнаты и его имя, а сервер будет генерировать уникальный ID. Урок 8. Создание чата на NodeJS, SocketIO и VueJS. Хранение пользователей: От автора: в данном уроке перед тем, как писать функционал по разделению комнат, нам необходимо придумать способ хранить информацию и пользователях в канале. В данном уроке мы напишем утилиту на сервере, которая позволит нам хранить пользователей и позволит удобно управлять ими. У нас будет возможность по добавлению нового пользователя, удалению, получению и получению списка пользователей по номеру комнаты. Урок 9. Создание чата на NodeJS, SocketIO и VueJS. Создание комнат: От автора: в данном уроке на серверной части мы реализуем функционал по разделению пользователей по разным комнатам. В данном уроке мы напишем функционал на серверной части, который позволит нам разделять разных пользователей по комнатам. Урок 10. Создание чата на NodeJS, SocketIO и VueJS. Вывод списка пользователей: От автора: в данном уроке мы реализуем функционал, который позволит нам в динамическом режиме просматривать список пользователей в комнате. В данном уроке мы будет обновлять список пользователей в зависимости от того, кто находится в комнате. Также мы реализуем функционал по обновлению списка, если другой пользователь будет выходить из чата. Урок 11. Создание чата на NodeJS, SocketIO и VueJS. Скролл при новом сообщении: От автора: в данном уроке мы доработаем чат и реализуем функционал скролла в случае, если приходит новое сообщение. В данном уроке мы реализуем функционал по автоматическому скроллу до последнего сообщения в списке, чтобы постоянно видеть актуальное сообщение. Реализация будет осуществлена с помощью локальный референций из VueJS. Урок 12. Создание чата на NodeJS, SocketIO и VueJS. Деплой и тест чата в Heroku: От автора: в данном заключительном уроке мы рассмотрим способ деплоя приложения на удаленный хостинг. В данном уроке мы установим инструмент Heroku-CLI для того, чтобы залить наш готовый чат на удаленный хостинг, где его и протестируем перепиской из разных браузеров на удаленном домене.